package com.flowerSystem.phone;

import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Random;

public class phone {
    public String getPhoneString(String phone) throws IOException {
        String url = "https://smssend.shumaidata.com/sms/send";
        String appCode = "d49c55dd738d4a90a410a48c7e3e5fca";

        Map<String, String> params = new HashMap<>();
        params.put("receive",phone);
        String ma="";
        for (int i=0;i<6;i++){
            int j= new Random().nextInt(9);
            ma=ma+j;
        }
        params.put("tag",ma);
        params.put("templateId", "MD8B7116BC");

        String result = postForm(appCode, url, params);
        return result;
    }
    public static String postForm(String appCode, String url, Map<String, String> params) throws IOException {
        url = url + buildRequestUrl(params);
        OkHttpClient client = new OkHttpClient.Builder().build();
        FormBody.Builder formbuilder = new FormBody.Builder();
        Iterator<String> it = params.keySet().iterator();
        while (it.hasNext()) {
            String key = it.next();
            formbuilder.add(key, params.get(key));
        }
        FormBody body = formbuilder.build();
        Request request = new Request.Builder().url(url).addHeader("Authorization", "APPCODE " + appCode).post(body).build();
        Response response = client.newCall(request).execute();
        System.out.println("返回状态码" + response.code() + ",message:" + response.message());
        String result = response.body().string();
        return result;
    }

    public static String buildRequestUrl(Map<String, String> params) {
        StringBuilder url = new StringBuilder("?");
        Iterator<String> it = params.keySet().iterator();
        while (it.hasNext()) {
            String key = it.next();
            url.append(key).append("=").append(params.get(key)).append("&");
        }
        return url.toString().substring(0, url.length() - 1);
    }
}
